/*************************************************
 * 描述：顶级水平菜单，存在溢出下拉行为
 *
 * File：cxitoplevelmenu.h
 * Author：zhangzhiming@mozihealthcare.cn
 * Date：25-9-19
 * Update：
 * ************************************************/

#ifndef CXITOPLEVELMENU_H
#define CXITOPLEVELMENU_H
#include <QWidget>

#include <controls/export.h>
class CxiTopLevelMenuPrivate;


class CXI_CONTROLS_EXPORT CxiTopLevelMenu : public QWidget
{
	Q_OBJECT
	Q_PROPERTY(int itemSpacing READ itemSpacing WRITE setItemSpacing)
public:
	explicit CxiTopLevelMenu(QWidget* parent = 0);
	~CxiTopLevelMenu();

	/**
	 * 添加菜单项
	 * @param item 菜单项
	 */
	void addItem(QAction* item);

	/**
	 * 批量添加菜单项
	 * @param items 菜单项列表
	 */
	void addItems(const QList<QAction*>& items);

	/**
	 * 获取菜单项间隔值
	 * @return 菜单项间隔值
	 */
	int itemSpacing() const;

	/**
	 * 设置菜单项间隔值
	 * @param spacing 设置值
	 */
	void setItemSpacing(int spacing);
signals:
	void itemClicked(QAction* item);
protected:
	void resizeEvent(QResizeEvent* event) override;

private:
	Q_DECLARE_PRIVATE(CxiTopLevelMenu)
	QScopedPointer<CxiTopLevelMenuPrivate> d_ptr;
};


#endif//CXITOPLEVELMENU_H
